package Function;

import java.util.function.Function;

/**
 * @Author: ylc
 * @Description: java.util.function.Function<T, R>接口用来根据一个类型的数据得到另一个类型的数据，
 *         前者称为前置条件，后者称为后置条件。
 * @Date Created in 2022-05-05 16:33
 */
public class Demo1Apply {
    /*
    Function接口中最主要的抽象方法为：R apply(T t)，根据类型T的参数获取类型R的结果。
        使用的场景例如：将String类型转换为Integer类型。
    */
    public static int convert(String s, Function<String, Integer> fun) {
        return fun.apply(s);
    }

    public static void main(String[] args) {
        String s = "123";
        int res1 = convert(s,(String str)->{
            //把字符串类型的整数,转换为Integer类型的整数返回
            return Integer.parseInt(str);
        });
        //优化lambda
        int res2 = convert(s,str -> Integer.parseInt(str));
        System.out.println(res1 + "  " + res2);
    }
}
